package de.bazinga.rotw.gameModes;

import com.captiveimagination.jgn.clientserver.JGNClient;
import com.captiveimagination.jgn.clientserver.JGNServer;

public interface GameMode {
	
	/**
	 * Called in Client
	 */
	public void initClient(JGNClient client);
	
	/**
	 * Called in Server
	 */
	public void initServer(JGNServer server);
	
	
	/**
	 * Called in RotwGameState.reset()
	 */
	public void reset();
	
	
	/**
	 * Called in RotwGameState.update()
	 */
	public void gameUpdate();
	
	
	/**
	 * Called in PlayerActions...
	 */
	public void playerAction();
	
	
	/**
	 * called in PlayerActions.update()
	 */
	public void playerUpdate();
	
	
	/**
	 * does the gamemode uses teams?
	 * @return
	 */
	public boolean useTeams();
}
